Method and apparatus for creating and sharing customized multimedia segments

ABSTRACT

Multimedia content segment identified by users may be shared among media devices and media device users. Media content segment metadata is generated based on one or more identified media content item segments identified in one or more media content items. The media content segment metadata may include, but is not limited to, information indicating segment start and stop times, information about the particular media content item (e.g., title, actors, original air date), and other user-provided descriptive information. A link for the media content segment metadata may be posted for display on a webpage and which enables other users to access the media content segment metadata.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.17/345,117, filed Jun. 11, 2021, which is a continuation of U.S. patentapplication Ser. No. 16/807,310, filed Mar. 3, 2020, now U.S. Pat. No.11,064,262, which is a continuation of U.S. patent application Ser. No.14/483,127, filed Sep. 10, 2014, now U.S. Pat. No. 10,623,821, whichclaims benefit of U.S. Provisional Patent Application 61/876,214, filedSep. 10, 2013, each of which are hereby incorporated by reference intheir entireties.

FIELD OF THE INVENTION

Embodiments relate generally to creating and sharing customizedmultimedia content segments among media devices and media device users.

BACKGROUND

The approaches described in this section are approaches that could bepursued, but not necessarily approaches that have been previouslyconceived or pursued. Therefore, unless otherwise indicated, it shouldnot be assumed that any of the approaches described in this sectionqualify as prior art merely by virtue of their inclusion in thissection.

A multimedia device may receive multimedia content streams for displayto a user. For example, a digital video recorder (DVR) device mayreceive multimedia content streams and enable a user of the DVR deviceto record and view multimedia content. As another example, portabledisplay devices such as laptops, tablet computers, and cell phones havebecome increasingly popular and widely used for viewing TV programs andother media content.

Multimedia content received by media devices generally is presented in afixed and non-editable format. A media device user may be able to playthe media content, scan the media content, and jump to particular pointsin the media content via scene selections created by a producer of themedia content. However, the viewing of media content generally is apassive activity otherwise and user interaction with the media content,and with other media device users, is minimal.

Social networking services are an increasingly popular platform forenabling users to post and share information with other users who mayshare similar interests or other social relationships. Informationposted by users on social networking websites may include statusupdates, images and videos, and links to other web-based resources thatmay be of interest.

The approaches described in this section are approaches that could bepursued, but not necessarily approaches that have been previouslyconceived or pursued. Therefore, unless otherwise indicated, it shouldnot be assumed that any of the approaches described in this sectionqualify as prior art merely by virtue of their inclusion in thissection.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example, and not by wayof limitation, in the figures of the accompanying drawings and in whichlike reference numerals refer to similar elements and in which:

FIG. 1A is a block diagram of an example system in accordance with oneor more embodiments;

FIG. 1B is a block diagram of an example media device in accordance withone or more embodiments;

FIG. 2 depicts an example flow for creating and sharing media contentsegment metadata in accordance with one or more embodiments;

FIG. 3 depicts an example flow for managing media content segmentmetadata in accordance with one or more embodiments;

FIG. 4 depicts an example flow for playing a media content item on amedia device based on media content segment metadata in accordance withone or more embodiments;

FIGS. 5A, 5B, 5C, 5D, 5E depict example graphical user interfaces forcreating and sharing media content segments in accordance with one ormore embodiments;

FIG. 6 depicts an example web page interface including links to sharedmedia content segment metadata in accordance with one or moreembodiments;

FIG. 7 is a block diagram of a computer system upon which embodiments ofthe invention may be implemented.

DETAILED DESCRIPTION

In the following description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present invention. It will be apparent, however,that the present invention may be practiced without these specificdetails. In other instances, well-known structures and devices are shownin block diagram form in order to avoid unnecessarily obscuring thepresent invention.

Several features are described hereafter that can be used independentlyof one another or with any combination of the other features. However,any individual feature might not address any of the problems discussedabove or might only address one of the problems discussed above. Some ofthe problems discussed above might not be fully addressed by any of thefeatures described herein. Although headings are provided, informationrelated to a particular heading, but not found in the section havingthat heading, may also be found elsewhere in the specification.

Example features are described according to the following outline:

-   -   1.0 Functional Overview    -   2.0 System Architecture    -   3.0 Example Media Device    -   4.0 Creating and Sharing Media Content Segments        -   4.1 Creating Media Content Segments        -   4.2 Managing Media Content Segment Metadata        -   4.3 Viewing Custom Media Content Segments    -   5.0 Example Implementation    -   6.0 Hardware Overview    -   7.0 Extensions and Alternatives

1.0 Functional Overview

In an embodiment, a media device is configured to receive inputidentifying one or more segments of one or more media content items andto generate metadata that describes the one or more identified mediacontent segments. Examples of a media content item include a televisionprogram, movie, music video, etc. A segment of a media content itemgenerally represents any portion of the media content item that may beidentified by a start time and end time. In one embodiment, mediacontent segments may be created using one or more graphical userinterfaces that enable users to identify media content segments in asimple, visually intuitive manner.

In an embodiment, media content segment metadata may be generated basedon one or more identified media content segments to enable saving andsharing of the identified media content segments, among other features.The media content segment metadata may include, for example, informationindicating segment start times and end times, information about themedia content item(s) of which the media content segments are a part(e.g., title, actors, original air date, etc.), user-provideddescriptive information, etc. Media content segment metadata generatedfor one or more media content items may be stored locally on a user'smedia device, at a remote storage location, and/or sent to otherdevices.

In an embodiment, media content segment metadata may be shared withother users. For example, a first user may be watching a televisionprogram using a first media device and the first user may identifyparticular segments of the television program that may be of interest toother users. In this example, the first user may cause media contentsegment metadata to be generated for the identified segments and mayfurther cause information associated with the identified segments to bepublished on a website such as social networking website or blog. Asecond user may interact with the published information, for example, byselecting a link to access the media content segment metadata generatedby the first user. The same television program may then be played on thesecond user's media device according to the media content segmentmetadata, e.g., the particular segments identified by the first user maybe played on the second user's media device.

In an embodiment, selecting a link associated with media content segmentmetadata published on a web page or other location may generate arequest sent to a networked media device or other server storing themedia content segment metadata. A networked media device may, forexample, provide DVR-like or Video On Demand (VOD)-like functionsaccessible to various media devices via the Internet. In an embodiment,in response to receiving a request for media content segment metadataassociated with one or more media content items, a networked mediadevice may determine whether a user associated with the requesting mediadevice is eligible to access the one or more media content items. Thenetworked media device may determine whether the user is eligible toaccess the one or more media content items based on account informationassociated with the user and which indicates particular content sourcesand/or content items to which the user has permission to access. Inresponse to determining that the user is eligible to access the one ormore media content items, the one or more media content items may beassociated with the user's account and/or the one or more media contentitems may be sent to one or more of the user's media devices fordisplay.

In an embodiment, one or more media content items may be displayedaccording to media content segment metadata. For example, in response toa user accessing a link or otherwise selecting particular media contentsegment metadata, the segments of one or more media content itemsidentified by the media content segment metadata may be displayed on amedia device. Playing one or more media content items according to mediacontent segment metadata, for example, may enable viewing of particularsegments of a media content item identified by another user.

2.0 System Architecture

Although a specific computer architecture is described herein, otherembodiments of the invention are applicable to any architecture that canbe used to perform the functions described herein.

FIG. 1A is a block diagram illustrating an example system 100 inaccordance with an embodiment. Although a specific system is described,other embodiments are applicable to any system that can be used toperform the functionality described herein. Components of the system 100may be connected, for example, via a network 112. Network 112 may beimplemented by any medium or mechanism that provides for the exchange ofdata between components of the system 100. Examples of network 112include, without limitation, a network such as a Local Area Network(LAN), Wide Area Network (WAN), wireless network, the Internet,Intranet, Extranet, etc. Any number of devices within the system 100 maybe directly connected to each other through wired or wirelesscommunication segments.

In an embodiment, the system 100 includes one or more media devices (forexample, media devices 102), one or more content providers (for example,content provider 104), one or more network digital video recorder (DVR)devices (for example, network DVR 106), one or more service providers(for example, service provider server 108), and one or more web servers(for example, web server 110). Each of these components are presented toclarify the functionalities described herein and may not be necessary toimplement all embodiments. Furthermore, components not shown in FIG. 1may also be used to perform the functionalities described herein.Functionalities described as performed by one component may instead beperformed by another component.

In an embodiment, media devices 102 generally represent any devicesconfigured to receive, store, display, or otherwise interact with mediacontent. Examples of media devices 102 include, but are not limited to,any of: a digital video recorder (DVR), a television, a monitor, alaptop, a tablet computer, a kiosk, a cellular phone, a smart phone, agaming console, etc. A media device 102 may include multiple components,e.g., a display screen, a projector, etc.

In an embodiment, content provider 104 provides broadcast programcontent, on-demand program content, over-the-top content (OTT), or anyother type of content to media devices 102 and/or network DVR 106 viacable, satellite, terrestrial communication, network communications, orother transmission method. In an embodiment, content provider 104provides multimedia content items, such as any downloadable content,through network 112 to media devices 102 and network DVR 106. As usedherein, the term “media content item” generally refers to any kind ofmedia content. A media content item may be, for example, audiovisualmedia (e.g., a video, advertisement, movie, or television program,etc.), audio without any video (e.g., music, etc.), or acomputer-executable application (e.g., a video game, presentationprogram, chat program, etc.).

In an embodiment, network DVR 106 generally represents a networked mediadevice that may perform one or more functions of a digital videorecorder (DVR). For example, network DVR 106 may receive, record, andstore media content items and send media content items to one or moremedia devices 102 via network 112. Network DVR 106 may be configured,among other features, to provide access to electronic programming guide(EPG) data and to enable users to schedule recordings of media contentitems. Whereas a DVR device typically may be used locally by one or asmall number of users, a networked media device may support any numberof users distributed across any number of different locations vianetwork 112. For example, a first user using a portable device at onelocation may access network DVR 106 and cause media content to berecorded by network DVR 106 and may cause network DVR 106 to stream themedia content for display on a portable device. As another example, asecond user using a gaming console at a second location may accessnetwork DVR 106 and cause network DVR 106 to send content for display onthe second user's gaming console.

In one embodiment, network DVR 106 may be configured to store and toprovide access to media content items in association with registereduser accounts. For example, a user may register an account with networkDVR 106 and be provided with an amount of storage space available forstoring recorded media content items and other data. The media contentitems originally may be available, for example, as broadcast content,on-demand content, internet accessible media content, user-generatedcontent, or any type of media content. A user may access media contentitems stored in the user's account using any number of different mediadevices 102 and from any number of different locations.

In an embodiment, network DVR 106 may store user information inassociation with user accounts. User information stored by a network DVR106 may include, but is not limited to, a list of content providers,content sources, and other services to which the user has access, anamount of available storage space for storing media content and otherdata, information about recorded media content and scheduled mediacontent recordings, user-generated media content segment metadata,social networking account information, a list of multimedia devicesassociated with a user, etc.

As used herein, media content segment metadata generally refers toinformation that identifies and describes one or more segments, or“clips,” of one or more media content items. In one embodiment, a usermay generate media content segment metadata for media content itemsusing one or more graphical user interfaces, as discussed in greaterdetail herein. A user may cause media content segment metadata to bestored locally on a media device 102 and/or in association with theuser's account on a network DVR 106 for later viewing and for sharingacross other media devices and with other users.

In an embodiment, a network DVR 106 may be associated with an Internetdomain name. For example, a user may access a network DVR 106 using aweb browser or other application running on a media device 102 byproviding user account credentials. Media content items, media contentsegment metadata, and other information stored by a network DVR may beassociated with uniform resource locators (URLs) that identify alocation of the stored data. The association of data stored by a networkDVR 106 with URLs may, for example, facilitate sharing and access to thedata across various devices and among various users.

In an embodiment, a network DVR 106 is configured to receive requestsfrom users for particular media content items and/or media contentsegment metadata. In one embodiment, in response to receiving a requestfor media content segment metadata, a network DVR 106 may be configuredto determine whether a requesting user has access to the media contentitem(s) associated with the metadata, and if so, be configured to sendmedia content and media content segment metadata to a requesting mediadevice.

In one embodiment, media devices 102 and network DVR 106 may communicatewith service provider server 108, which may provide information such asprogram guide data, graphical resources (such as fonts, pictures, etc.),service information, software, advertisements, segment metadata, andother data that enables media devices 102 and network DVR 106 to operateindependently of service provider server 108 to satisfy user interests.In an embodiment, media devices 102 and network DVR 106 can communicatewith each other to transfer content, media content segment metadata, orany other data through network 112 or any other communicationconnection.

In an embodiment, media devices 102 and network DVR 106 may interactwith a web server 110. A web server 110 may, for example, represent aserver hosting a web-based application that facilitates sharing of datasuch as media content segment metadata between media devices. Forexample, a web server 110 may be associated with a social networkingservice, a chat or instant messaging service, a blogging service, etc.Media devices 102 and/or network DVR 106 may send to a web server 110information including URLs of media content segment metadata and/orother information stored by a network DVR 106.

3.0 Example Media Device

FIG. 1B illustrates an example block diagram of a media device inaccordance with one or more embodiments. As shown in FIG. 1B, a mediadevice 102 may include multiple components such as a memory system 155,a storage device 160, a central processing unit (CPU) 165, a displaysub-system 170, an audio/video input 175, one or more inputdevices/tuners 180, a network module 190, peripherals unit 195,text/audio convertor 167, and/or other components used to perform thefunctionality described herein. In an embodiment, a media device 102 maybe a DVR. The functionality of a DVR is typified in U.S. Pat. No.6,233,389, entitled “Multimedia Time Warping System,” which is owned bythe Applicant and is hereby fully incorporated by reference. Amultifunction media device is described U.S. patent application Ser. No.12/631,740, entitled “Multifunction Multimedia Device,” which is ownedby the Applicant and is hereby fully incorporated by reference.Techniques for using voice-based input to operate a media device and tosearch for media content are described in U.S. patent application Ser.No. 13/665,735, entitled “Method and System For Voice Based MediaSearch,” which is owned by the Applicant and is hereby fullyincorporated by reference.

In an embodiment, the audio/video input 175 may correspond to anycomponent that includes functionality to receive audio and/or videoinput (e.g., HDMI 176, DVI 177, Analog 178) from an external source. Forexample, the audio/video input 175 may be a DisplayPort or a highdefinition multimedia interface (HDMI) that can receive input fromdifferent devices. The audio/video input 175 may receive input from aset-top box, DVR, a Blu-ray disc player, a personal computer, a videogame console, an audio/video receiver, a compact disk player, anenhanced versatile disc player, a high definition optical disc, aholographic versatile disc, a laser disc, mini disc, a disc film, a RAMdisc, a vinyl disc, a floppy disk, a hard drive disk, etc. The mediadevice 102 may include multiple audio/video inputs 175.

In an embodiment, the input device/tuner 180 generally represents anyinput component that can receive a content stream (e.g., through cable,satellite, internet, network, terrestrial antenna, etc.). In a tunerconfiguration, input device/tuner 180 may allow one or more receivedfrequencies to pass through while filtering out others (e.g., by usingelectronic resonance, etc.). A television tuner may convert an RFtelevision transmission into digital audio and video signals which canbe further processed to produce sound and/or an image or accept digitalsignals such as MPEG2, MPEG4, etc.

In an embodiment, input may also be received from a network module 190.A network module 190 generally represents any input component that canreceive information over a network (e.g., internet, intranet, world wideweb, etc.). Examples of a network module 190 include, but are notlimited to, any of: a network card, network adapter, network interfacecontroller (NIC), network interface card, wireless card, Local AreaNetwork adapter, Ethernet network card, any other component that canreceive information over a network, etc. The network module 190 may alsobe used to directly connect with another device (e.g., a media device, acomputer, a secondary storage device, etc.).

In an embodiment, input may be received by the media device 102 from anycommunicatively coupled device through wired and/or wirelesscommunication segments. Input received by the media device 102 may bestored to the memory system 155 or storage device 160. The memory system155 may include one or more different types of physical memory to storedata. For example, one or more memory buffers (e.g., an HD frame buffer)in the memory system 155 may include storage capacity to load one ormore uncompressed high definition (HD) video frames for editing and/orfingerprinting. The memory system 155 may also store frames in acompressed form (e.g., MPEG2, MPEG4, or any other suitable format),where the frames are then uncompressed into the frame buffer formodification, fingerprinting, replacement, and/or display. The memorysystem 155 may include FLASH memory, DRAM memory, EEPROM, traditionalrotating disk drives, etc. The storage device 160 generally representssecondary storage accessible by the media device 102. The storage device106 may include, but is not limited to, any combination of, one or moreof: Solid State Drives (SSD), hybrid hard drives, hard drives, etc.

In an embodiment, central processing unit 165 may include functionalityto perform the functions described herein using any input received bythe media device 102. For example, the central processing unit 165 maybe used to dynamically derive fingerprints from media content framesstored in the memory system 155. The central processing unit 165 may beconfigured to mark or identify media content or portions of mediacontent based on tags, hash values, fingerprints, time stamp, or othersuitable information associated with the media content. The centralprocessing unit 165 may be used to modify media content (e.g., scale avideo frame, etc.), analyze media content, decompress media content,compress media content, etc. A video frame (e.g., an HD video frame, 4Kframe, etc.) stored in a frame buffer may be modified dynamically by thecentral processing unit 165 to overlay additional content (e.g.,information about the frame, program info, a chat message, systemmessage, web content, pictures, an electronic programming guide, videocontent, textual content, or any other suitable content) on top of thevideo frame, manipulate the video frame (e.g., stretching, rotation,shrinking, etc.), or replace the video frame in real time. Accordingly,an electronic programming guide, advertisement information that isdynamically selected, media content information, or any othertext/graphics may be written onto a video frame stored in a frame bufferto superimpose the additional content on top of the stored video frame.The central processing unit 165 may be used for processing communicationwith any of the input and/or output devices associated with the mediadevice 102. For example, a video frame that is dynamically modified inreal time may subsequently be transmitted for display. The centralprocessing unit 165 may be used to communicate with other media devicesto perform functions related to synchronization, publication of data,etc.

In an embodiment, the text/audio convertor 167 generally represents anysoftware and/or hardware for converting text to audio and/or forconverting audio to text. For example, the text/audio convertor mayinclude functionality to convert text corresponding to closed captioneddata to an audio file. The audio file may be based on a computerizedvoice, or may be trained for using the voice of a user, a fictional ornon-fictional character, etc. In an embodiment, the automaticallygenerated voice used for a particular message may be the voice of a usergenerating the message. The text/audio convertor may includefunctionality to switch languages when converting from voice to text orfrom text to voice. For example, audio input in French may be convertedto a text message in English.

In an embodiment, the peripherals unit 195 generally represents inputand/or output for any peripherals that are communicatively coupled withthe media device 102 (e.g., via USB, External Serial Advanced TechnologyAttachment (eSATA), Parallel ATA, Serial ATA, Bluetooth, infrared,etc.). Examples of peripherals may include remote control devices, USBdrives, a keyboard, a mouse, a microphone, and voice recognition devicesthat can be used to operate the media device 102. In an embodiment,multiple microphones may be used to detect sound, identify userlocation, etc. In an embodiment, a microphone may be a part of a mediadevice 102 or other device (e.g., a remote control) that iscommunicatively coupled with the media device 102. In an embodiment, themedia device 102 may include functionality to identify media contentbeing played (e.g., a particular program, or a position in a particularprogram) when audio input is received (e.g., via a microphone) from auser.

In an embodiment, the display sub-system 170 generally represents anysoftware and/or device that includes functionality to output (e.g.,Video Out to Display 171) and/or actually display one or more images.Examples of display devices include a kiosk, a hand held device, acomputer screen, a monitor, a television, projector, etc. The displaydevices may use different types of screens or display technology such asa liquid crystal display, cathode ray tube, a projector, a plasmascreen, etc. The output from the media device 102 may be specially forformatted for the type of display device being used, the size of thedisplay device, resolution (e.g., 720i, 720p, 1080i, 1080p, or othersuitable resolution), etc.

4.0 Creating and Sharing Media Content Segments

4.1 Creating Media Content Segments

FIG. 2 depicts an example flow for creating and sharing media contentsegment metadata in accordance with one or more embodiments. Steps shownin FIG. 2 may be rearranged or omitted. Furthermore, additional stepsnot shown in FIG. 2 may be performed in accordance with one or moreembodiments. Accordingly, the selection or arrangement of steps shown inFIG. 2 should not be construed as limiting.

In an embodiment, a media device receives a command to present mediacontent (Step 202). The media device may be a local media device (e.g.,a DVR, portable device, game console) or a remote media device (e.g., anetwork DVR, a VOD library, or a third party video library). The commandto present the media content may be received as a selection in anelectronic programming guide (EPG), in a list of recorded media contentitems, or other listing of available media content. The media contentmay be content stored locally in memory of the media device (e.g., a DVRmay receive a command to play a stored program recording), or thecommand may be to play media content that is accessible over a network(e.g., a network DVR may receive a command from a portable media deviceto play media content stored by the network DVR, NAS, etc., inassociation with the user's account). In one embodiment, a command topresent the media content may be received from a user that desires toidentify particular segments in the media content; for example, a usermay desire to identify and share with friends particular segments of aninternet-accessible video, a video operator may desire to identifysegments of a movie for editing purposes, or an advertiser may desire toidentify segments of a television program for the placement of ads.

In an embodiment, the requested media content is presented (Step 204).For example, a media device 102 or network DVR 106 may cause display ofthe media content on a display device that is connected to a mediadevice 102 (e.g., a television display that is connected to a DVR) or ona display that is part of the media device 102 itself (e.g., a displayscreen of a tablet computer).

In an embodiment, a status bar may be overlaid onto the media contentpresented in Step 204. The status bar may be displayed automatically inresponse to the playing of the media content or in response to userinput. For example, if a user is viewing the media content on atouchscreen device, the user may cause a status bar to be displayed bytouching the touchscreen during playing of the media content. As anotherexample, if a user is viewing the media content on a television display,the user may cause a status bar to display by pressing a button a remotecontrol device. In an embodiment, a status bar overlaid on media contentmay include one or more graphical elements including, but not limitedto, a play mode indicator (e.g., indicating whether the media content iscurrently playing, recording, paused, fast forwarding, rewinding, etc.),a play progress bar, a segment indicator button, and a volume indicator.The play progress bar may include a current play position indicator thatindicates a current play position in a media content program. Examplesof a play progress bar are described in U.S. Pat. No. 6,847,778,entitled “Multimedia Visual Progress Indication System,” which is ownedby the Applicant and is hereby fully incorporated by reference. In anembodiment, a segment indicator button provides a graphical element thatmay be selected by a user to create, modify, save, and/or share mediacontent segments identified by the user.

In an embodiment, the media device receives input identifying one ormore media content segments (Step 206). For example, during the playingof a media content item, a user may desire to identify a new mediacontent segment in the media content item. In one embodiment, the usermay select a segment indicator button on the status bar to identify thesegment. In response to a user selecting the segment indicator button, astart point indicator and a stop point indicator may be displayed on theplay progress bar. The start and stop point indicators may be used tospecify a start point and an end point of a segment in the mediacontent. For example, a user may be interested in a particular scene ofa television program the user is watching. In the example, the user canselect a segment indicator button and position a start point indicatorat the beginning of the scene and a stop point indicator at the end ofthe scene to define a segment, or “clip.” A user may provide inputselecting a segment indicator button and to adjust a start and stoppoint indicator using a remote control, a touch interface, or any otherinput device.

In one embodiment, time marks may be displayed in the vicinity of a playprogress bar to indicate a time associated with a current play positionindicator and, if displayed, each of a start and stop point indicator.The time marks may provide the user with a visual reference of points inthe media content identified by the current play position indicator andstart and stop point indicators. As a user adjusts the position of astart or stop point indicator, the displayed time marks mayautomatically update to indicate newly identified points in the mediacontent. In an embodiment, as a user adjusts the position of the startand stop point indicators, display of the multimedia program content mayscan with the user's adjustments to the indicators. For example, as theuser adjusts the position of the start point indicator from one positionto another, the display of the multimedia content may scan in sync withthe position indicated by the start point indicator, enabling the userto more precisely identify a segment. Examples interfaces foridentifying a segment in media content is described in U.S. patentapplication Ser. No. 11/285,402, entitled “Digital Video Recorder VideoEditing System,” which is owned by the Applicant and is hereby fullyincorporated by reference.

In an embodiment, a user may identify any number of media contentsegments for a particular media content item. For example, a user mayidentify a collection of scenes from a movie or television program byrepeating one or more of the steps described above to identify multiplemedia content segments. In an embodiment, each identified media contentsegment may be of any length and identified media content segments mayoverlap one another. A user may also modify previously identifiedsegments by further adjusting start and stop point indicators for aparticular segment, or the user may delete previously identifiedsegments using the segment indicator or another input control.

In an embodiment, a user may identify media content segments for anynumber of separate media content items. For example, a user may create acollection of scenes from a television program series by identifyingmedia content segments in multiple episodes of the television programseries. In an embodiment, media content segments identified by a usermay be grouped together in a logical grouping. For example, a user maycreate a grouping of media content segments identified in variousepisodes of a television program by associating media content segmentsidentified by the user in separate episodes with the grouping.

In one embodiment, a media content segment may be identified based onmonitoring user activity. For example, a start and/or stop point for amedia content segment may be determined by a media device based onmonitoring a user's interaction with the media content as the mediacontent is played. During playback of a particular media content item, auser may rewind and replay a particular segment of the media contentmultiple times and, in response, a media content segment may beautomatically identified corresponding to the approximate portion of themedia content that was re-played. In an embodiment, automaticallyidentified media content segments may be displayed to the user usingstart and stop point indicators and the user may provide furtheradjustments to the automatically identified segment, if desired.

In one embodiment, one or more media content segments may beautomatically identified based on fingerprints derived from mediacontent items. For example, fingerprints may be derived from one or moremedia content items as the content items are played and used to identifyparticular elements present in the media content items (e.g., a type ofcar, an actor's face, a song, etc.). Based on the identified elements,segments may be automatically created which correspond to portions ofthe media content items that contain the identified elements.

In one embodiment, one or more media content segments may beautomatically identified based on third party data associated with mediacontent items. One example of third party data may be data that isassociated with one or more social networking sites. For example, one ormore media content segments may be automatically identified based ondetecting a volume of interaction on a social networking site relativeto a media content item (e.g., a number of posts or “tweets” thatreference a particular media content item). During a football game, forexample, an exciting play may generate a noticeable spike in activity onone or more social networks. In the example, a “highlight” segment maybe identified based on determining when such spikes in social networkingactivity occur relative to the airing time of the football game.

In an embodiment, media content segment metadata is generated for one ormore identified media content segments (Step 208). For example, themetadata may include information that identifies start and stop pointsin one or more media content items corresponding to segments identifiedin a media content item. The media content segment metadata may include,for example, information identifying the media content item(s) withwhich the metadata is associated, information about a user generatingthe metadata, information about a media device upon which the metadatais generated. The metadata may include other user-specified informationsuch as a name for the metadata, a group with which to associate theidentified media content segments, a description of the identifiedsegments, etc.

In an embodiment, the media content segment metadata may identifycontent segments using one or more of: time stamps, in-band data (e.g.,closed captioning data), fingerprinting, or based on service information(SI) and/or event information tables (EIT). The use of in-band data tosynchronize with a multimedia content stream is described in U.S. Pat.No. 7,873,982, entitled “Method And Apparatus For Creating And ViewingCustomized Multimedia Segments,” which is owned by the Applicant and ishereby fully incorporated by reference. The use of fingerprinting todetermine a position in media content is described in U.S. Pat. No.8,417,096, entitled “Method And An Apparatus For Determining A PlayingPosition Based On Media Content Fingerprints,” which is owned by theApplicant and is hereby fully incorporated by reference.

For example, time stamps may be used to identify a content segment byspecifying a start and stop time in a media content item relative to thebeginning of the media content item or any other point in a mediacontent item. As an example, a particular media content item may have atotal playing time of 15 minutes and a user-identified segment of themedia content item may be identified by time stamps of 05:17 and 08:12.In the example, the time stamps indicate that the media content segmentcorresponds to a portion of the media content item that begins 5 minutesand 17 seconds from the beginning of the media content item andcontinues until 8 minutes and 12 seconds from the beginning of the mediacontent item. As another example, start and stop times may be identifiedby hash values extracted from in-band data near the start and stop timepoints in the media content item. As another example, start and stoptimes may be identified by fingerprints extracted from the media contentitem near the start and stop points in the media item. As yet anotherexample, service information or event information tables may be used toreference start and stop points of a media segment.

In an embodiment, generating media content segment metadata may includeautomatically modifying segments identified by a user so that theidentified segments do not overlap certain boundaries in the mediacontent. The boundaries may correspond to time periods close to thebeginning and ending points of the media content, the beginning and endof commercial segments, or other defined points in the media content.For example, media content segment metadata may be automaticallymodified based on boundary rules so that any identified media contentsegment begins at least 30 seconds after the beginning of a mediacontent item or so that a segment does not overlap with any commercialbreaks. The portions in a media content item which may form boundariesfor media content item segments may be indicated to a user as the useris identifying the segments, e.g., a graphical user interface mayidentify the boundaries with markers and/or the interface may restrictthe locations that a user is able to place start and stop pointindicators.

In an embodiment, input is received to share media content segmentmetadata (Step 210). For example, a user may select a user interfaceelement or provide other input to share media content segment metadata.In general, a user may share media content segment metadata to enableviewing of identified media content segments on other devices and/or byother users.

In an embodiment, the generated media content segment metadata is sentto a network DVR device or other server that stores the metadata (Step212). The media content segment metadata may be stored by a network DVRin association with the user's account. By storing the media contentsegment metadata in association with the user's account, the user latermay access the metadata to view identified segments, modify identifiedsegments, and/or select metadata for sharing with other users. In anembodiment, media content segment metadata may be sent directly from onemedia device to another without storage by a network DVR or othercentralized storage location. In one embodiment, sending the generatedmedia content segment metadata may include sending video contentcorresponding to the segments of the one or more media content itemsidentified by the metadata.

In an embodiment, media content segment metadata may be collected frommultiple users and analyzed. For example, media content segment metadatamay be received from a plurality of users and that identifies segmentsfor a particular media content item such as a television show. The mediacontent segment metadata from the multiple users may be analyzed todetermine popular segments in the particular media content item. Forexample, media content segment metadata created by several differentusers may identify approximately the same fifteen-second segment in amedia content item. In the example, the media content segment identifiedby the several different users may be used, for example, as a previewclip for the media content segment. In one embodiment, a popular mediacontent segment may be labeled as a popular segment if a thresholdnumber of users have identified the segment. In an embodiment, popularmedia content segments may be ranked and displayed to users viewingavailable clips from a particular media content item. In an embodiment,popular segments may be combined to create a crowd-sourced macro-clipfor one or more media content items.

In an embodiment, a link identifying media content segment metadata ispublished (Step 214). For example, in response to receiving user inputto share media content segment metadata, a link and possibly otherinformation related to the media content segment metadata may bepublished to a web page, sent to other users in a message (e.g., anemail, instant message, text message), or otherwise made accessible toone or more other users.

In one embodiment, information related to the media content segmentmetadata is published as a post on a web page of a social networkingwebsite. The post may be posted on behalf of a social networking useraccount that belongs to a user of the media device upon which the mediacontent segment metadata is generated. For example, the user may beprompted to provide login credentials for one or more social networkingwebsites prior to a post being published. The post may be generated bythe user's media device, a network DVR a service, etc. The publishedpost may be publicly accessible or viewable by other users of the socialnetworking website who have access to view posts from the user. Forexample, the post may be viewed on the user's profile page or as part ofa “feed” containing posts from multiple users.

In an embodiment, a published post may include a link such as a uniformresource locator (URL) or other reference to a storage location of themedia content segment metadata. The published post may include videocontent corresponding to the segments identified by the media contentsegment metadata. In an embodiment, some or all of the media contentmetadata may be encoded in a link for the metadata. For example, apublished link may include parameters that identify a media content itemand identify start and end point(s) corresponding to one or more mediacontent segments.

In an embodiment, in response to receiving user input to share mediacontent segment metadata, an alert may be sent to one or more otherusers. For example, a user may specify a group of one or more otherusers to whom alerts are sent in response to the user sharing mediacontent segment metadata. In an embodiment, a first user may subscribeto a second user and receive alerts whenever the second user sharesmedia content segment metadata. Selecting an alert may enable a user toaccess the media content segment metadata and media content itemassociated with the alert.

4.2 Managing Shared Segment Metadata

In an embodiment, a network DVR receives a request for media contentsegment metadata associated with one or more media content items (Step302). For example, the request may be generated in response to a userselecting a link published on a web page or other location, as describedabove.

In an embodiment, in response to receiving a request from a user forparticular segment metadata, the network DVR determines whether the useris eligible to access the one or more media content items associatedwith the segment metadata (Step 304). The one or more media contentitems may be associated with a particular content provider or othercontent sources to which the user may or may not have access dependingon the user's account settings. For example, a particular user selectinga segment metadata link may have subscriptions to one or more cablechannel packages, “premium” multimedia channels (e.g., SHO, MAX, HBO,etc.), may have purchased a particular movie or other media content itemthat is streamable on demand, purchased a pay-per-view program, etc.Thus, determining whether the user is eligible to access a particularmedia content item associated with the segment metadata may includedetermining a content provider or source of the particular media contentitem and determining whether the user requesting the media content itemhas access to content provided by the content provider or source.

Information about content providers to which a user has access may bestored as part of user account information at a network DVR, service, orother location. For example, a user may request media content segmentmetadata for a television program associated with a premium channel. Inresponse to the request, the network DVR may access account informationfor the user, possibly via a subscription service server, internaldatabase, etc., to determine whether the user is a subscriber of thepremium channel.

In an embodiment, the network DVR may send a notification to the user'smedia device if the user is ineligible to access the content (Step 306).For example, the notification may indicate that the content is notaccessible to the user because the user does not have access to viewcontent from the content provider of the media content. The notificationmay provide an opportunity for the user to modify or upgrade the user'saccount so that the user may access the particular media content item.

In an embodiment, in response to determining that the user is eligibleto access the media content item, the network DVR may associate themedia content item with the user's account or otherwise cause the mediacontent item to be available to the user for viewing (Step 308).Associating the media content item with the user's account may includecopying the media content item to the user's media storage space at thenetwork DVR so that the media content is available to the user forstreaming or downloading to any of the user's media devices. In anembodiment, if a user has insufficient storage space available to storea copy of the media content item, the user may be prompted to purchaseadditional storage space for the user's account.

In an embodiment, the network DVR sends segment metadata to the mediadevice requesting the data (Step 310). The metadata may be sentseparately from any media content item(s) with which the metadata isassociated, or the metadata may be embedded with the media content.

4.3 Viewing Customized Media Content Segments

In an embodiment, a media device may send a request for media contentsegment metadata associated with one or more media content items (Step402). The request may be generated, for example, in response to a userselecting a link on a web page of a social networking website or otherlocation. For example, the link may be included in a social networkingpost or as a part of other information indicating that the link isassociated with segment metadata generated by a user. The link mayindicate a reference to a network DVR or other device storing thesegment metadata.

In an embodiment, the media device receives media content associatedwith the media content segment metadata (Step 404). The media contentmay be received over a network from a network DVR, or may be retrievedfrom local storage. The media content may include one or more mediacontent items or segments of media content items identified by the mediacontent segment metadata. For example, if the media content segmentmetadata identifies segments of a particular television program, themedia content may include the entire particular television program orone or more segments thereof.

In an embodiment, the media device receives segment metadata associatedwith the media content (Step 406). The segment metadata may be receivedseparately from the media content or as data embedded with the mediacontent. In one embodiment, the segment metadata may be included in aURL. The media device may store the segment metadata for later retrievaland/or editing by the user.

In an embodiment, the media device may display one or more media contentitems based on the segment metadata (Step 408). For example, a mediadevice may display the one or more media content items based on thesegment metadata by causing the media content segments identified by themetadata to be displayed on the media device instead of playing theentire one or more media content items from the beginning to end. Theidentified segments may be displayed in a particular order specified bythe segment metadata, displayed in an order based on when each segmentwas created, or displayed in any other order. Displaying the identifiedsegments may include displaying descriptive information included in thesegment metadata; for example, a user-provided description of a segment,actor information, or any other information associated with the mediacontent may be displayed. In an embodiment, a user of the media devicemay be able to play other parts of the content item that are outside ofany identified segment using the status bar controls.

5.0 Example Implementation

FIGS. 5A-5C illustrate example graphical user interfaces that enable auser to identify media content segments in accordance with one or moreembodiments. These examples may skip one or more elements in one or moreembodiments for the purpose of clarity and understanding. Furthermore,these examples may include details that may not be necessary whenimplementing one or more embodiments. Accordingly, these examples shouldnot be construed as limiting in scope.

In an example, FIG. 5A illustrates a display screen 502A of a mediadevice 500. In the example of FIGS. 5A-5C, the media device is depictedas a portable device with a built-in display, such as a laptop, tabletcomputer, or smartphone; however, in general, any media device may beused to perform the examples described herein. The display screen 502Aincludes a status bar 504, play progress bar 506, play positionindicator 508, and segment action indicator 510. Display screen 502A,shown at a particular display position indicated by play positionindicator 508, generally displays media content items as requested bythe user. For example, media content items displayed on display screen502A may be displayed in response to a user providing input to playparticular media content items stored on media device 500 or accessibleto media device 500 from a network DVR or other remote source.

In general, status bar 504 enables a user to indicate actions withrespect to the playing of media content on media device 500. Forexample, play progress bar 506 and play position indicator 508 provideinformation about the current play point in a particular media contentitem. Play position indicator 508 may be adjusted by a user to scan theplaying of the media content and to set the current play point to adifferent position. Segment action indicator 510 enables a user toindicate actions related to identified media content segments, asdescribed further below.

FIG. 5B illustrates a display screen 502B of media device 500 withinterface elements displayed that enable a user to identify one or moremedia content segments. The display screen 502B of the media device 500Bincludes media content segment indicators 512B and segment actionindicators 514. The media content segment indicators 512B and segmentaction indicators 514 may be displayed, for example, in response to auser indicating a desire to identify a new segment by selecting thesegment action indicator 510 of FIG. 5A.

In an embodiment, media content segment indicators 512B include a startpoint indicator and a stop point indicator represented visually as tabsthat overlay the play progress bar and that display time marks inassociation with each indicator. A user may modify the location of thetabs by selecting a tab (e.g., using a touch interface, remote control,or other input device) and moving the tab to a new location on theprogress play bar, thereby modifying the boundaries of an identifiedsegment of the media content item. The portion of the media content itemidentified by media content segment indicators 512B may correspond to amedia content segment of interest to a user of media device 500, forexample, a scene of a television show the user wishes to share withothers.

In an embodiment, segment action indicators 514 are displayed and may beassociated with various actions with respect to a media content segmentidentified by media content segment indicators 512B. For example, a usermay select an appropriate segment action indicator 514 to reset theposition of the media content segment indicators 512B, to begin playinga currently identified segment, to save a currently identified segment,or to share a saved segment with other users.

FIG. 5C illustrates a display screen 502C of media device 500 includingmodified media content segment indicators 512C. For example, mediacontent segment indicators 512C may be displayed in response to a usermoving to a different location both the start and stop point indicatorsillustrated for media content segment indicators 512B of FIG. 5B. Inresponse to a user moving the start and stop point indicators, the timemarks associated with the indicators may update to indicate the newpositions.

FIG. 5D illustrates a display screen 502D of media device 500 includinga media content segment save panel 516. Media content segment save panel516 may be displayed, for example, in response to a user identifying aparticular media content segment and selecting a segment actionindicator to save the identified media content segment. Media contentsegment save panel 516 provides several input fields that enable a userto provide information about the media content segment being savedincluding a name for the segment, a content segment folder and/or groupwith which to associate the media content segment, and a description ofthe identified segment. An indication of a time range and a previewimage associated with the media content segment may be displayed inmedia content segment save panel 516. In response to the user selectinginput to save the media content segment, media content segment metadatamay be generated and saved locally on media device 500 and/or sent to anetwork DVR or other remote storage location.

FIG. 5E illustrates a display screen 502E of media device 500 includinga segment share panel 518. Segment share panel 518 may be displayed, forexample, in response to a user saving a media content segment using themedia content segment save panel 516 of FIG. 5D or selecting other inputto share media content segment metadata. Segment share panel 518 maydisplay information about the media content segment metadata to beshared including a preview image and other information provided by theuser in media content segment save panel 516. Segment share panel 518may provide input fields that enable a user to provide information to bedisplayed when the media content segment is published to a web page of asocial networking website or other resource. Input elements may beprovided that enable the user to select a particular method forpublishing information about the media content segment metadata.

FIG. 6 illustrates postings published on a web page 600 and providinginformation about media content segment metadata shared by users. Forexample, web page 600 includes a post 602 associated with a particularuser. Post 602 may be generated in response to the user creating andpublishing media content segment metadata for one or more media contentitems, as described above in FIGS. 5A-5E. In the depicted example, webpage 600 is a social networking website; however, web page 600 may beany type of web page (e.g., a blog, a chat room, a data feed, etc.),application screen (e.g., a screen within a social networkingapplication, etc.), or other accessible resource.

Post 602 includes a link 604. In the example, link 604 is a URL thatindicates a location of metadata for the media content identified in thepost. A user may select the link using a media device thereby causingthe media device to send a request to a network DVR or other serviceidentifying the media content segment metadata. The link may cause anapplication on the media device to open and to begin streaming andplaying the media content according to the media content segmentmetadata identified by the URL.

Note that, although separate embodiments are discussed herein, anycombination of embodiments and/or partial embodiments discussed hereinmay be combined to form further embodiments.

6.0 Hardware Overview

According to one embodiment, the techniques described herein areimplemented by one or more special-purpose computing devices. Thespecial-purpose computing devices may be hard-wired to perform thetechniques, or may include digital electronic devices such as one ormore application-specific integrated circuits (ASICs) or fieldprogrammable gate arrays (FPGAs) that are persistently programmed toperform the techniques, or may include one or more general purposehardware processors programmed to perform the techniques pursuant toprogram instructions in firmware, memory, other storage, or acombination. Such special-purpose computing devices may also combinecustom hard-wired logic, ASICs, or FPGAs with custom programming toaccomplish the techniques. The special-purpose computing devices may bedesktop computer systems, portable computer systems, handheld devices,networking devices or any other device that incorporates hard-wiredand/or program logic to implement the techniques.

For example, FIG. 7 is a block diagram that illustrates a computersystem 700 upon which an embodiment of the invention may be implemented.Computer system 700 includes a bus 702 or other communication mechanismfor communicating information, and a hardware processor 704 coupled withbus 702 for processing information. Hardware processor 704 may be, forexample, a general purpose microprocessor.

Computer system 700 also includes a main memory 706, such as a randomaccess memory (RAM) or other dynamic storage device, coupled to bus 702for storing information and instructions to be executed by processor704. Main memory 706 also may be used for storing temporary variables orother intermediate information during execution of instructions to beexecuted by processor 704. Such instructions, when stored innon-transitory storage media accessible to processor 704, rendercomputer system 700 into a special-purpose machine that is customized toperform the operations specified in the instructions.

Computer system 700 further includes a read only memory (ROM) 708 orother static storage device coupled to bus 702 for storing staticinformation and instructions for processor 704. A storage device 710,such as a magnetic disk, optical disk, or solid-state drive is providedand coupled to bus 702 for storing information and instructions.

Computer system 700 may be coupled via bus 702 to a display 712, such asa cathode ray tube (CRT), for displaying information to a computer user.An input device 714, including alphanumeric and other keys, is coupledto bus 702 for communicating information and command selections toprocessor 704. Another type of user input device is cursor control 716,such as a mouse, a trackball, or cursor direction keys for communicatingdirection information and command selections to processor 704 and forcontrolling cursor movement on display 712. This input device typicallyhas two degrees of freedom in two axes, a first axis (e.g., x) and asecond axis (e.g., y), that allows the device to specify positions in aplane.

Computer system 700 may implement the techniques described herein usingcustomized hard-wired logic, one or more ASICs or FPGAs, firmware and/orprogram logic which in combination with the computer system causes orprograms computer system 700 to be a special-purpose machine. Accordingto one embodiment, the techniques herein are performed by computersystem 700 in response to processor 704 executing one or more sequencesof one or more instructions contained in main memory 706. Suchinstructions may be read into main memory 706 from another storagemedium, such as storage device 710. Execution of the sequences ofinstructions contained in main memory 706 causes processor 704 toperform the process steps described herein. In alternative embodiments,hard-wired circuitry may be used in place of or in combination withsoftware instructions.

The term “storage media” as used herein refers to any non-transitorymedia that store data and/or instructions that cause a machine tooperate in a specific fashion. Such storage media may comprisenon-volatile media and/or volatile media. Non-volatile media includes,for example, optical disks, magnetic disks, or solid-state drives, suchas storage device 710. Volatile media includes dynamic memory, such asmain memory 706. Common forms of storage media include, for example, afloppy disk, a flexible disk, hard disk, solid-state drive, magnetictape, or any other magnetic data storage medium, a CD-ROM, any otheroptical data storage medium, any physical medium with patterns of holes,a RAM, a PROM, and EPROM, a FLASH-EPROM, NVRAM, any other memory chip orcartridge.

Storage media is distinct from but may be used in conjunction withtransmission media. Transmission media participates in transferringinformation between storage media. For example, transmission mediaincludes coaxial cables, copper wire and fiber optics, including thewires that comprise bus 702. Transmission media can also take the formof acoustic or light waves, such as those generated during radio-waveand infra-red data communications.

Various forms of media may be involved in carrying one or more sequencesof one or more instructions to processor 704 for execution. For example,the instructions may initially be carried on a magnetic disk orsolid-state drive of a remote computer. The remote computer can load theinstructions into its dynamic memory and send the instructions over atelephone line using a modem. A modem local to computer system 700 canreceive the data on the telephone line and use an infra-red transmitterto convert the data to an infra-red signal. An infra-red detector canreceive the data carried in the infra-red signal and appropriatecircuitry can place the data on bus 702. Bus 702 carries the data tomain memory 706, from which processor 704 retrieves and executes theinstructions. The instructions received by main memory 706 mayoptionally be stored on storage device 710 either before or afterexecution by processor 704.

Computer system 700 also includes a communication interface 718 coupledto bus 702. Communication interface 718 provides a two-way datacommunication coupling to a network link 720 that is connected to alocal network 722. For example, communication interface 718 may be anintegrated services digital network (ISDN) card, cable modem, satellitemodem, or a modem to provide a data communication connection to acorresponding type of telephone line. As another example, communicationinterface 718 may be a local area network (LAN) card to provide a datacommunication connection to a compatible LAN. Wireless links may also beimplemented. In any such implementation, communication interface 718sends and receives electrical, electromagnetic or optical signals thatcarry digital data streams representing various types of information.

Computer system 700 can send messages and receive data, includingprogram code, through the network(s), network link 720 and communicationinterface 718. In the Internet example, a server 730 might transmit arequested code for an application program through Internet 728, ISP 726,local network 722 and communication interface 718.

Network link 720 typically provides data communication through one ormore networks to other data devices. For example, network link 720 mayprovide a connection through local network 722 to a host computer 724 orto data equipment operated by an Internet Service Provider (ISP) 726.ISP 726 in turn provides data communication services through the worldwide packet data communication network now commonly referred to as the“Internet” 728. Local network 722 and Internet 728 both use electrical,electromagnetic or optical signals that carry digital data streams. Thesignals through the various networks and the signals on network link 720and through communication interface 718, which carry the digital data toand from computer system 700, are example forms of transmission media.

The received code may be executed by processor 704 as it is received,and/or stored in storage device 710, or other non-volatile storage forlater execution.

In the foregoing specification, embodiments of the invention have beendescribed with reference to numerous specific details that may vary fromimplementation to implementation. The specification and drawings are,accordingly, to be regarded in an illustrative rather than a restrictivesense. The sole and exclusive indicator of the scope of the invention,and what is intended by the applicants to be the scope of the invention,is the literal and equivalent scope of the set of claims that issue fromthis application, in the specific form in which such claims issue,including any subsequent correction.

7.0 Extensions and Alternatives

Although specific components are recited herein as performing the methodsteps, in other embodiments agents or mechanisms acting on behalf of thespecified components may perform the method steps. Further, althoughsome aspects of the invention are discussed with respect to componentson a system, the invention may be implemented with componentsdistributed over multiple systems. Embodiments of the invention alsoinclude any system that includes the means for performing the methodsteps described herein. Embodiments of the invention also include acomputer readable medium with instructions, which when executed, causethe method steps described herein to be performed.

In the foregoing specification, embodiments of the invention have beendescribed with reference to numerous specific details that may vary fromimplementation to implementation. Thus, the sole and exclusive indicatorof what is the invention, and is intended by the applicants to be theinvention, is the set of claims that issue from this application, in thespecific form in which such claims issue, including any subsequentcorrection. Any definitions expressly set forth herein for termscontained in such claims shall govern the meaning of such terms as usedin the claims. Hence, no limitation, element, property, feature,advantage or characteristic that is not expressly recited in a claimshould limit the scope of such claim in any way. The specification anddrawings are, accordingly, to be regarded in an illustrative rather thana restrictive sense.

What is claimed to:
 1. A method comprising: receiving user interfaceinput identifying a segment of a media content item; based on the userinterface input, generating metadata identifying a start point or an endpoint of the segment and storing the metadata separately from thesegment; receiving notification of user interaction with a graphicaluser interface element on a webpage identifying the segment by arequesting user device, the user interaction comprising requesting thesegment metadata; in response to the receiving of the notification,determining that a user account associated with the requesting userdevice is eligible to access the entire media content item; in responseto the determining that the user account is eligible to access theentire media content item, enabling play of the segment by transmittingthe metadata identifying the start point or the end point of the segmentto the requesting user device.
 2. The method of claim 1, wherein thestart point or the end point is identified based on a timestamp, in-banddata, one or more fingerprints, or service information.
 3. The method ofclaim 1, wherein the user interface input comprises the start pointautomatically identified by a user interface action comprising replayingthe segment from the start point.
 4. The method of claim 1, wherein thestart point or the end point is automatically modified based at least inpart on a boundary detected in the media content item, the boundarybased on one or more boundary rules associated with the segment and theuser interface input, wherein the boundary corresponds to a commercialsegment boundary.
 5. The method of claim 1, wherein the webpage iscomprised in a social network website.
 6. The method of claim 1, whereinthe generating of the segment metadata is performed by a server, andwherein the server generates play of the media content item to a devicethat transmits to the server the user interface input.
 7. The method ofclaim 6, wherein the transmitting of the metadata to the requesting userdevice is performed by the server.
 8. The method of claim 7, wherein thedetermining that the user account at the requesting user device iseligible is performed by the server.
 9. A non-transitory computerreadable medium storing instructions that are configured to cause aprocessor, when executed by the processor: to receive user interfaceinput identifying a segment of a media content item; based on the userinterface input, to generate metadata identifying a start point or anend point of the segment and storing the metadata separately from thesegment; to receive notification of user interaction with a graphicaluser interface element on a webpage identifying the segment by arequesting user device, the user interaction comprising requesting thesegment metadata; in response to the notification, to determine that auser account associated with the requesting user device is eligible toaccess the entire media content item; in response to the determiningthat the user account is eligible to access the entire media contentitem, to enable play of the segment by transmitting the metadataidentifying the start point or the end point of the segment to therequesting user device.
 10. The medium of claim 9, wherein the startpoint or the end point is identified based on a timestamp, in-band data,one or more fingerprints, or service information.
 11. The medium ofclaim 9, wherein the user interface input comprises the start pointautomatically identified by a user interface action comprising replayingthe segment from the start point.
 12. The medium of claim 9, wherein thestart point or the end point is automatically modified based at least inpart on a boundary detected in the media content item, the boundarybased on one or more boundary rules associated with the segment and theuser interface input, wherein the boundary corresponds to a commercialsegment boundary.
 13. The medium of claim 9, wherein the webpage iscomprised in a social network website.
 14. The medium of claim 9,wherein the processor is comprised in a server, and wherein the servergenerates play of the media content item to a device that transmits tothe server the user interface input.
 15. The medium of claim 9, whereinthe transmitting of the metadata to the requesting user device isperformed by the server.
 16. A server system comprising: one or moreprocessors and a memory storing instructions configured, when executedby the one or more processors: to receive user interface inputidentifying a segment of a media content item; based on the userinterface input, to generate metadata identifying a start point or anend point of the segment and storing the metadata separately from thesegment; to receive notification of user interaction with a graphicaluser interface element on a webpage by a requesting user device, theuser interaction comprising requesting the segment metadata; in responseto the notification, to determine that a user account associated withthe requesting user device is eligible to access the entire mediacontent item; in response to the determining that the user account iseligible to access the entire media content item, to enable play of thesegment by transmitting the metadata identifying the start point or theend point of the segment to the requesting user device.
 17. The systemof claim 16, wherein the start point or the end point is identifiedbased on a timestamp, in-band data, one or more fingerprints, or serviceinformation.
 18. The system of claim 16, wherein the user interfaceinput comprises the start point automatically identified by a userinterface action comprising replaying the segment from the start point.19. The system of claim 16, wherein the start point or the end point isautomatically modified based at least in part on a boundary detected inthe media content item, the boundary based on one or more boundary rulesassociated with the segment and the user interface input, wherein theboundary corresponds to a commercial segment boundary.
 20. The system ofclaim 16, wherein the webpage is comprised in a social network website.